1. Field of the Invention
This invention relates to sound synthesis and sound synthesis models, and in particular, relates to methods for simulating the sounds made by sympathetic vibrations of strings.
2. Description of Related Art
Most digital sound synthesis methods attempt to mimic a desired sound by generating at regular time intervals digital values that represent the amplitude of the desired sound. One of the most accurate digital methods is sample synthesis. Sample synthesis generates a sound by playing a digitized recording. Sample synthesis is commonly used in drum machines that emulate only a relatively small number of different drum sounds.
In some applications, sample synthesis requires too much memory to be practical. For example, with a piano emulation, a digital recording of the lowest note may last up to 30 seconds and require more than 2 megabytes of 16-bit values representing sound amplitudes if recorded at a 44.1 KHz sample rate. Multiply this by the 88 keys on a standard piano and the required storage capacity exceeds 200 megabytes. Pianos also have different timbres depending on how hard the key is struck. A standard Musical Instrument Digital Interface (MIDI) has 128 different velocity curves so the storage capacity now exceeds 30 gigabytes.
Even if all these sounds were recorded, you would still not have an emulation that sounds exactly like a real piano because the effect of the damper pedal and inter-string coupling would be missing. In a piano, when the damper pedal is not pressed, a felt pad suppresses string vibrations unless the key corresponding to the string is held down. When a combination of keys or chord is held down, the struck strings interact. Similarly, the quality of a note changes when the damper pedal is pressed because all of the strings are coupled together through a sound board. A more accurate sample synthesis would record combinations of piano keys being hit simultaneously with and without the damper pedal being pressed. Taking all possible combinations of 2 out of 88 keys, 3 out of 88 keys, and so on, up to 88 out of 88 keys yields an astronomical number, and still does not take into account time offsets. Sample synthesis therefore cannot practically yield a near perfect piano emulation.
There are many synthesis methods besides sample synthesis. Waveguide synthesis is a synthesis method that mimics the sound of a musical instrument using models based on the physical structure of the instrument. A particular case of waveguide synthesis is the plucked string algorithm which is used to emulate the sound made by a plucked string.
FIG. 1A shows a block diagram of a plucked string algorithm which may be used to emulate the sound made by a string. The plucked string algorithm involves filling a delay line 101 with data. Delay line 101 is generally a digital delay circuit or a section of memory. The output sound amplitudes on output bus 120 are the result of cyclic reading of data from the delay line 101 at a fixed sampling rate.
Data from delay line 101 is processed by a filter 103 to account for sound evolution before being fed back to delay line 101. Filter 103 and the length of delay line 101 are chosen based on the physical properties of the string being emulated. FIGS. 1B and 1C show examples of types of filters that may be used in the plucked string algorithm of FIG. 1A. FIG. 1B shows a zero pole filter having a pair of coefficient multipliers 131 and 132, a delay line 133, and an adder 134. FIG. 1C shows a one pole filter having a pair of coefficient multipliers 141 and 143, a delay line 144, and an adder 143.
Referring again to FIG. 1A, a summing means 102 combines signals from filter 103 with excitation data on input bus 110 and feeds the sum back into delay line 101. When all of the date in delay line 101 has been read once, reading begins again from the beginning in a loop fashion. The sound signal on output bus 120 repeats with a frequency that depends on the number of data points in delay line 101 and the sampling rate.
Generally, a synthesis model will not perfectly reproduce the sound of a musical instrument and methods for improving the accuracy of synthesis models are needed. In particular, a method for adding a damper pedal effect to a piano emulation, which is generally applicable to any piano emulation using any synthesis method, would greatly improve the accuracy of piano emulations. Such a method, to provide greatest utility, should not require excessive memory or excessive computational power.